Mechanism for rendering advertising objects into featured content

ABSTRACT

Systems and methods are provided for inserting advertisements into a video. In accordance with one implementation, a method is provided that includes processing a data stream including a video content selection to extract a metatag that models a template object appearing within a first content segment featuring primary content of the video content selection, the template object enabling a transformation of an advertising object. Further, the method includes identifying an advertising descriptor based on characteristics of a scene and the metatag extracted from the first content segment and selecting the advertising object based on the identified advertising descriptor. The method also includes modifying the video content selection by inserting the advertising object in the data stream such that the advertising object is integrated into a scene of the video content selection and transmitting the video content selection to a recipient.

RELATED APPLICATION(S)

The present application is a continuation of and claims the benefit ofpriority of U.S. patent application Ser. No. 11/462,565, filed on Aug.4, 2006, the entire contents of which are incorporated herein byreference.

TECHNICAL FIELD

This document relates to advertising and streaming media systems.

BACKGROUND

Inserting advertisements and other advertising content into a media feedmay be manually intensive and prone to operator error. One approach toinserting advertising has involved placing advertisements during theidle playback periods, known as commercial breaks.

SUMMARY

In one general sense, advertisements may be inserted into a streamingvideo at an intermediary system by receiving a data stream including avideo content selection having scenes configured to accommodateinsertion of advertising objects, identifying an advertising descriptorbased on characteristics of a scene within the data stream, andselecting an advertising object based on the identified advertisingdescriptor. The video content selection may be modified by inserting theadvertising object in the data stream such that the advertising objectis integrated into a scene of the video content selection, where animage scene of the video content selection is modified to integrate andenable visual display of content from within the scene of the videocontent selection and the advertising object concurrently. The contentselection is transmitted to a recipient.

Implementations may include one or more of the following features. Forexample, an advertising object may be stored at the intermediatelocation and the advertising object may be downloaded from the source ora content server. An advertising object may be transmitted to theintermediate device as part of the data stream.

Identifying the advertising descriptor may include referencing aselection rule, a modification rule, or an insertion rule from withinthe data stream. Referencing the selection rule may include referencinga selection rule and selecting, as the advertising object, anadvertising object configured to avoid a conflict between one or moreother advertising objects in the content selection. Selecting theadvertising object configured to avoid the conflict may includeselecting the advertising object in response to determining whether acompeting product has appeared, appears, or will appear in the contentselection. Selecting the advertising object configured to avoid theconflict may include determining whether the advertising objectconflicts with a theme of the content selection, and if so, selecting adifferent object supporting the theme. Identifying the advertisingdescriptor may include referencing a temporal rule configured to promoteselection of an advertising object based on temporal characteristicsassociated with the advertising object that are supported by the contentselection.

Identifying the advertising descriptor may include referencing apreference rule associated with the recipient and configured to promoteselection of an advertising object based on recipient preferences,referencing an identification code rule associated with the recipientand configured to promote selection of an advertising object based on anidentification code identifying the advertising object, referencing arecipient demographics rule associated with the recipient and configuredto promote selection of an advertising object based on demographics ofthe recipient, or referencing a selection weight rule configured topromote selection of an advertising object from a set of the availableadvertising objects using a selection weight associated with theadvertising object.

Identifying the advertising descriptor may include referencing a ruleconfigured to promote selection of an advertising object using a revenueobjective, referencing a rule configured to promote selection of anadvertising object using content selection descriptions, or referencinga rule configured to promote selection of an advertising object based ona placement location of the advertising object within the contentselection. Referencing the modification rule may include specifyingvisual, audio, or temporal characteristics of the advertising object.Specifying the temporal characteristics may include specifying asequence of visual states for the advertising object that varies overtime. Referencing the insertion rule may include receiving an indicationof an opportunity to render the advertising object at a specified timefor a specified duration. Identifying the advertising descriptor mayinclude analyzing metatags appearing within the data stream thatdescribe one or more activities within the video content selection.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a communications system configured toinsert advertisements into a streaming content.

FIG. 2 is a block diagram of an advertising data store configured tostore data associated with various aspects of advertisement insertionsystem.

FIG. 3 is a flow chart illustrating how advertisements may be insertedinto a duplicated feed in a communications system, such as thecommunications system in FIG. 1.

FIG. 4 is a block diagram of a communications system configured toenable national and local advertising insertion.

FIG. 5 illustrates how metatags may be used to annotate the insertionspaces for advertising content within a stream of data units.

FIG. 6 is a flow chart illustrating how a communications system mayselect advertising objects by processing metatags.

FIGS. 7A-B are screen displays of potential conflicts betweenadvertising objects in the content selection.

FIG. 8 is a block diagram showing data flow as a duplicating device usesmetatags to enable local advertising insertion.

DETAILED DESCRIPTION

Advertisement insertion systems and processes are described forfacilitating insertion of advertising content into the streamingcontent, such as streaming video. For illustrative purposes, FIGS. 1-8illustrate aspects of advertisement insertion systems and processesconfigured to render advertising objects in selected content such thatthe advertising objects appear as if the selected content originallyfeatured the advertising objects.

Generally, a source system sends a streaming video with a contentselection to an intermediary system. The intermediary system receives adata stream including a video content selection having scenes configuredto accommodate insertion of advertising objects. The intermediary systemidentifies an advertising descriptor based on characteristics of a scenewithin the data stream, selecting an advertising object based on theidentified advertising descriptor, selects an advertising object basedon the referenced advertising descriptor, and modifies the video contentselection by inserting the advertising object in the data stream suchthat the advertising object is integrated into a scene of the videocontent selection, where an image scene of the video content selectionis modified to integrate and enable visual display of content fromwithin the scene of the video content selection and the advertisingobject concurrently. Finally, the intermediary system transmits thecontent selection to a recipient.

The following example illustrates how advertising objects may berendered accordingly. A source system, such as a streaming video server,transmits a video stream of a pre-recorded game show to an intermediarysystem. The incoming video stream is annotated with advertisingdescriptors, such as metatags that describe locations and types ofadvertising objects. The metatags may require or suggest advertising orcontent to be inserted into the video stream by the intermediary system.In this example, the advertising descriptors may require rendering of aPepsi beverage bottle next to the contestant in a game show. Theadvertising descriptors require the bottle to have certain pre-specifieddimensions, color, or other characteristics, for instance, the bottlemay be required to be opened and half-empty. The intermediary systemreferences the advertising descriptor located in the video stream, and,based on a set of selection rules, selects an advertising object, suchas an image of 20 oz blue Diet Pepsi bottle. The intermediary systemthen renders an image of a Pepsi bottle in the scene location specifiedby the advertising descriptor and transmits the modified video stream toa recipient. The inserted image of a Pepsi bottle appears to therecipient as if the video of the game show originally featured theinserted bottle. In other words, the image ultimately rendered to therecipient is configured as if the Pepsi bottle stood next to thecontestant when the show was being taped.

For brevity, several elements in the figures described below arerepresented as monolithic entities. However, as would be understood byone skilled in the art, these elements each may include numerousphysically and/or logically interconnected computers and componentsdesigned to perform a set of specified operations and/or dedicated to aparticular geographical region.

Referring to FIG. 1, communications system 100 includes a source system110, a terminal 150, and communication software and hardware enablingcommunications between the source system 110 and the terminal 150. Moreparticularly, the communications path between the source system 110 andthe terminal 150 includes a network 120, a duplicating device 130, and anetwork 140. The source system 110 generally transmits one or more dataunits in a first stream of data units across network 120 to one or moreduplicating devices 130 that duplicate data units or portions thereofand transmit the duplicated data units or data unit portions to two ormore terminals 150 through network 140.

The source system 110 may be structured and arranged to convert a mediasource (e.g., a video or audio stream) into a first stream of data unitsfor transmission across a network 120. The source system 110 may includea general-purpose computer having a central processor unit (CPU), andmemory/storage devices that store data and various programs such as anoperating system and one or more application programs. Other examples ofa source system 110 include a workstation, a server, a special purposedevice or component, a broadcast system, other equipment, or somecombination thereof capable of responding to and executing instructionsin a defined manner. The source system 110 also typically includes aninput/output (I/O) device (e.g., video and audio input and conversioncapability), and peripheral equipment such as a communications card ordevice (e.g., a modem or a network adapter) for exchanging data with thenetwork 120.

A communications link 115 is used to communicate data between sourcesystem 110 and network 120. Communications link 115 may include, forexample, a telephone line, a wireless network link, a cable network, ora direct connection.

The network 120 includes hardware and/or software capable of enablingdirect or indirect communications between the source system 110 and theduplicating device 130. The network 120 is shown to include a directlink between the source system 110 and the device 130. However, it mayinclude one or networks or subnetworks (not explicitly shown). Eachnetwork or subnetwork may include, for example, a wired or wireless datapathway capable of carrying and receiving data. Examples of network 120include the Internet, the World Wide Web, a WAN (“Wide Area Network”), aLAN (“Local Area Network”), an analog or a digital wired and/or wirelesstelephone network (e.g., PSTN (“Public Switched Telephone Network”),ISDN (“Integrated Services Digital Network”), or xDSL (“any form ofDigital Subscriber Loop”)), a radio, television, cable, or satellitenetwork, or any other delivery mechanism for carrying data.

The duplicating device 130 is structured and arranged to receive thefirst stream of data units from the source system 110, to duplicate thestream of data units, and to transmit a stream of duplicated data unitsto one or more terminals 150. In some implementations, the duplicatingdevice 130 is structured and arranged to perform filtering andforwarding between different domains at the same level of the protocolstack in the OSI (“Open System Interconnection”) reference model. Forexample, duplicating device 130 may forward Ethernet frames betweendifferent Ethernet segments. In another example, duplicating device 130may forward IP packets between different IP subnets.

The duplicating device 130 may include a duplicating device. Generally,a duplicating device includes a device that performs network operationsand functions in hardware (e.g., in a chip or part of chip). In someimplementations, the duplicating device may include an ASIC(“Application Specific Integrated Circuit”) implementing networkoperations logic directly on a chip (e.g., logical gates fabricated on asilicon wafer and then manufactured into a chip). For example, an ASICchip may perform filtering by receiving a packet, examining the IPaddress of the received packet, and filtering based on the IP address byimplementing a logical gate structure in silicon.

Implementations of the device included in the duplicating device 130 mayemploy a Field Programmable Gate Array (FPGA). A FPGA is generallydefined as including a chip or chips fabricated to allow a third partydesigner to implement a variety of logical designs on the chip. Forexample, a third party designer may load a FPGA with a design to replacethe received IP addresses with different IP addresses, or may load theFPGA with a design to segment and reassemble IP packets as they aremodified while being transmitted through different networks.

Implementations of the device included in the duplicating device 130also may employ a network processor. A network processor is generallydefined to include a chip or chips that allow software to specify whichnetwork operations will be performed. A network processor may perform avariety of operations. One example of a network processor may includeseveral interconnected RISC (“Reduced Instruction Set Computer”)processors fabricated in a network processor chip. The network processorchip may implement software to change an IP address of an IP packet onsome of the RISC processors. Other RISC processors in the networkprocessor may implement software that monitors which terminals arereceiving an IP stream.

Although various examples of network operations were defined withrespect to the different devices, each of the devices tends to beprogrammable and capable of performing the operations of the otherdevices. For example, the FPGA device is described as the device used toreplace IP addresses and segment and reassemble packets. However, anetwork processor and ASIC are generally capable of performing the sameoperations.

The duplicating device 130 also is shown to include an advertisingbuffer 132 structured and arranged to store one or more pieces ofadvertising content. Typically, the advertising buffer 132 is structuredand arranged to enable timely insertion of one or more pieces ofadvertising content into the duplicated stream. Advertising content mayinclude still and moving images, text, audio, or other types of media.

The duplicating device 130 also is shown to include an advertising store134 structured and arranged to store one or more pieces of content forinsertion. The advertising store 134 may be further partitioned intoadditional subsections (not shown), for example, each storing adifferent type of advertising data. As shown by the dotted lines, theadvertising store 134 may reside locally on the duplicating device 130or it may reside on a separate and distinct device, such as, forexample, a separate server or duplicating device with storage. Althoughaspects of the advertising store 134 may resemble aspects of theadvertising buffer 132, the advertising buffer 132 serves to providetimely access to the desired content while the advertising store 134serves to provide more storage than typically is practical for theadvertising buffer 132 to provide.

In the illustrated example, a duplicating device 130 includes both anadvertising buffer 132 and an advertising store 134. In this example,the pool of available advertisements might reside in the advertisingstore 134 with the duplicating device 130 selecting requiredadvertisements for loading to the advertising buffer 132 for just-intime splicing. Through this selective loading to the advertising buffer132, the amount of buffer required may be reduced. However, while theadvertising buffer 132 may illustrate one device to reduce solid-statememory requirements, the advertising store 134 also may be used tosplice advertisements. For example, the duplicating device 130 mayinitially store a received stream onto a hard disk drive. Advertisingcontent may be inserted into the received stream, and the results may betransmitted as the duplicated stream. Other examples may feature the useof a disk drive with adequate seek times as an advertising buffer 132.Similarly, the advertising store 134 also may include one or moresolid-state memory devices (e.g., Random Access Memory).

The duplicating device 130 is shown to include an advertising interface136, which typically includes a controller 137 structured and arrangedto select, access, and insert one or more pieces of advertising contentinto the content selection of the data stream. Advertising content isrepresented by an advertising object. An advertising object is a datastructure that may be a placeholder for advertising content with a linkto the actual advertising content. Alternatively or in addition, anadvertising object may store a part or all of the advertising content byitself. The controller 137 may select a specific advertisement objectfor insertion based on the advertising descriptor stored at theduplicating device. The selected advertising object may conflict withsome parameters of the content selection. In one sense, the selectedadvertisement object may conflict with the overall theme of the contentin the stream. For example, a selected advertising object, such as abeer bottle, may be inappropriate for insertion during a children's showor a health show. In a difference sense, the selected advertising objectalso may conflict with the other advertising objects placed in thestream. For example, if the selected advertising object is a Pepsibottle, a conflict with other Coca-Cola advertising objects insertedinto the content selection may result. The controller 137 may beconfigured to resolve such conflicts between advertising objects. Oncethe conflicts are resolved, the controller 137 may be configured toaccess a local advertisement store 134, the advertising buffer 132, or aremote content server across the network (e.g., network 120 or 140) toobtain the necessary data for the selected advertising object.

Furthermore, the controller 137 may be configured to modify the videocontent selection by inserting the advertising object in the data streamsuch that the advertising object is integrated into a scene of the videocontent selection, where an image scene of the video content selectionis modified to integrate and enable visual display of content fromwithin the scene of the video content selection and the advertisingobject concurrently. Thus, viewers of the modified content selection mayperceive the advertising object for a product as part of the contentselection. For example, while watching a game show, viewers may see asoft drink bottle on a contestant's table. However, in the originalrecording, the bottle space may be left as void space or populated witha bottle image or other information such as annotations or metatags thatspecify the requirements for advertising content. In general, metatagsare placed (logically or temporally) within the stream to indicate thelocations for advertising objects. In other words, metatags serve asplaceholders for the actual advertising content that is inserted intothe data stream by the duplicating devices. Metatags also may includeinformation about the advertising space, such as the type of object thatmay be inserted into the space, the size, the shape, the 3D orientation,the color of the object, or the duration over which the advertisingobject my be inserted. The duplicating device receives the data stream,and, based on the embedded metatags, inserts an advertising object for aspecific beverage, such as Pepsi, into the void advertising spaceannotated by metatags.

Data units handled by the duplicating device 130 may be accessed by orsent to terminals 150 through network 140. As such, the network 140 isstructured and arranged to receive data units transmitted from theduplicating device 130 for transmission to the terminals 150.

The network 140 includes hardware and/or software capable of enablingdirect or indirect communications between the duplicating device 130 andthe terminal 150. The network 140 is shown to include a direct linkbetween the duplicating device 130 and the terminal 150. However, it mayinclude one or more networks or subnetworks (not shown). Each network orsubnetwork may include, for example, a wired or wireless data pathwaycapable of carrying and receiving data. Examples of the delivery networkinclude the examples noted above with respect to network 120. Network120 and network 140 may share one or more hardware or software devices.

The terminal 150 may include one or more devices capable of receivingthe duplicated stream transmitted by duplicating device 130 throughnetwork 140. The terminal 150 may include a controller (not shown) thatprocesses instructions received from or generated by a softwareapplication, a program, a piece of code, a device, a computer, acomputer system, or a combination thereof, which independently orcollectively direct operations of the terminal 150. The instructions maybe embodied permanently or temporarily in any type of machine,component, equipment, storage medium, or propagated signal that iscapable of being delivered to the terminal 150 or that may reside withthe controller at terminal 150. Terminal 150 is shown to include ageneral-purpose computer (e.g., a personal computer (PC) 152) capable ofresponding to and executing instructions in a defined manner. Theterminal 150 also may include a workstation, a notebook computer, a PDA(“Personal Digital Assistant”), a wireless phone, a component, otherequipment, or some combination of these items that is capable ofresponding to and executing instructions.

In one implementation, the terminal 150 includes one or more informationretrieval software applications (e.g., a browser, a mail application, aninstant messaging client, an Internet service provider client, or an AOLTV or other integrated client) capable of receiving one or more dataunits. The information retrieval applications may run on ageneral-purpose operating system and a hardware platform that includes ageneral-purpose processor and specialized hardware for graphics,communications and/or other capabilities. In another implementation,terminal 150 may include a wireless telephone running a micro-browserapplication on a reduced operating system with general purpose andspecialized hardware capable of operating in mobile environments.

The terminal 150 also is shown to include a cable headend 154.Typically, aspects of the cable headend 154 resemble aspects of theterminal 150 and/or the PC 152 described above. For example, the cableheadend 154 may include one or more software applications to retrievecontent. Thus, a cable headend 154 may retrieve required content andsent it out on a cable distribution program as regularly scheduledprogramming on a specified cable channel.

However, aspects of the cable headend 154 typically differ in that thecable headend may be structured and arranged to act as a proxy for oneor more devices (e.g., a set top tuner). While a PC may be configured toact as a proxy for one or more devices, it may be useful to configurethe cable headend 154 to aggregate information reflecting the state ofone or more constituent subscribers, in addition to state informationfor the cable headend itself. For example, a cable headend 154 may beconfigured to aggregate one or more individual profiles. This aggregatedprofile is modified, tracked, and changed in the same manner that thestate of a PC could be modified, tracked and changed. The difference isthat the cable headend 154 may involve additional processing toaggregate the individual profiles/states.

FIG. 2 illustrates an advertising store 134 structured and arranged tostore data utilized during advertisement insertion. The advertisingstore 134 may be portioned into multiple sections configured to storedifferent types of data used by the controller 137 for insertion ofadvertisements. The illustrated advertising store 134 includes anadvertising descriptor section 134 a, an advertising objects section 134b, and a content section 134 c.

The advertising descriptor section 134 a represents data related toadvertising descriptors. An advertising descriptor may be configured toinstruct a controller (e.g., controller 137) how to insert advertisingobjects into a data stream. Alternatively or in addition, theadvertising descriptor may be configured to instruct the controller 137on how advertising objects may be inserted, deleted, or modified. Theadvertising descriptor section 134 a may include rules used by thecontroller 137 to select an appropriate advertising content forinsertion. The rules may control selection, insertion, or modificationof advertising objects. The rules may be specified in a variety of ways.For example, the rules may be stored in form of a text files, such as aPython scripts or XML data files. Additionally or alternatively, therules may be specified visually, using a rule-specification GUI(Graphical User Interface).

Advertising descriptors may be configured to select specific datastreams for advertisement insertion based on a variety of criteria. Thecriteria may include source groups, recipient groups, types of content,keywords, and other parameters. Once an incoming stream matches thecriteria of an advertising descriptor, the set ofselection/insertion/modification rules specified in that advertisingdescriptor are applied to the content of the incoming stream. In otherwords, the advertising descriptor may be configured to act as aclassifying filter that determines whether an incoming stream is chosenfor advertisement insertion at the duplicating device 130. The groups ofsources or recipients

TABLE 1 descriptor NY_Sports_Fan { group { match SRC_IP_PREFIX133.160.0.0/16   OR match DEST_IP_PREFIX 251.134.0.0/16   OR matchUSR_ZIP_CODE 11235   OR match USR_CITY New York OR match USR_AREA NorthEast OR match USR_PREFERENCE football, hockey, sports, Giants, Knicks ORmatch USR_TYPE male, female OR match USR_AGE 21-45  AND match USR_INCOME10,000 to 250,000 AND match CONTENT_TYPE sports, baseball, hockey }rules{ SELECTION_RULE = select_ NY_Sports_Fan_rl INSERTION_RULE =insert_ NY_Sports_Fan_rl MODIFICATION_ RULE = modify_ NY_Sports_Fan _rl}}may be specified based on IP addresses, geographic locations,interest/programming types, service options, demographics, and othercriteria. Additionally or alternatively, the advertising descriptorsection 134 a may include a default or modifiable descriptor that isapplicable for multiple streams.

Table 1 shows an exemplary advertising descriptor NY_Sports_Fan that isconfigured to match a group of New York sports fans based on theirgeographical location (NY or North East), age (21-45), IP addresses, andother criteria. If there is a stream passing through the duplicatingdevice 130 that matches the NY_Sports_Fan descriptor, the set ofselection/insertion/modification rules specified by the NY_Sports_Fandescriptor will be applied to the content in that stream.

Table 2 shows an exemplary selection rule for a NY sports fan, which isidentified among the rules to be applied based upon the NY_Sports_Fanadvertising descriptor shown in Table 1. Selection rules may beconfigured to instruct the controller 137 to determine which advertisingobjects need to be selected for insertion, deletion, or modification.Selection rules also may specify conflict resolution procedures to beused when advertising objects are eligible for placement in the samestream. For example, a conflict between competing advertisers or betweenthe selected advertising objects and the theme of the content selectionmay be identified. The controller 137 may be configured to preventadvertiser-related conflicts that occur when advertising objects fromcompeting businesses, such as Coke and Pepsi, are placed within the samevideo scene. Similarly, the controller 137 may be configured to enforcetheme-related rules that prevent theme-related conflicts. One such rule,for example, may be configured to disable beer advertisements duringchildren shows. Alternatively or in addition, selection rules may beconfigured to select advertising objects based on other factors, such astemporal characteristics of advertising objects, cost of advertisements,and/or viewer preferences. For example, a first viewer may prefer trucksto convertibles. Similarly, a second viewer may dislike professionalsports, while preferring collegiate athletics. In any event, aspects ofthese preferences may appear in selection rules used to selectadvertising objects.

TABLE 2 rule select_NY_Sports_Fan_rl { match OBJECT_TYPE bottle_16_oz,bottle_20_oz match OBJECT_MFCR Budwiser match OBJECT_SIZE 200 pxl matchOBJECT_COLOR blue, green, navy match OBJECT_DURATION 10 seconds matchOBJECT_AD_COST >= 0.10 match AD_COST_TOTAL < 10,000 match PROGRAM_TYPEsports_game match OBJECT_CODE BUDWSR_BT_16_BLUE match USR_PREFERENCEcan, bottle conflicts{ match OBJECT_TYPE BEER match OBJECT_MFCR Miller,Amstel, (NOT BUDWSR) match PROGRAM_TYPE news_report matchPROGRAM_AUDIENCE NOT children } }

Modification rules may be configured to instruct the controller 137 tomodify advertising content in order to render it into the data stream.Specifically, modification rules may specify how an advertisement'svisual, audio, or temporal characteristics may be changed during theinsertion. For example, the controller 137 may change an image for anadvertisement to blue, set the on-screen duration to 1 minute, and muteany sounds associated with the advertisement. In yet another example, amodification rule may specify how the object is changed over time. Forexample, to achieve a realistic effect, a Pepsi bottle may need to bedepleted over the course of time, because the contestant on the show isdrinking from it. Therefore, a modification rule may be specified whichdictates how the level of beverage in the inserted bottle object changeswith time. Similarly, other characteristics of the Pepsi bottle may bemodified to make its appearance more realistic. Table 3 shows anexemplary modification rule for the NY sports fan.

TABLE 3 rule modify_ NY_Sports_Fan _rl { video { scale = true; 75% shape= same duration = 1 minute color{ fg = blue bg = same hue = 30%saturation = 80% brightness = 70% } } audio{ track = same mute = true }text { new text = “drink Pepsi” font = Courier size = 34 } }

Insertion rules, such as the one shown in Table 4, may be configured toinstruct the controller 137 to insert, remove, or modify the advertisingobjects matching the specified selection rules. The controller 137 mayinsert a new advertisement into the content selection, or modify ordelete an advertisement already placed inside the stream. If amodification rule is specified in an advertising descriptor, themodification rule may be applied to a new advertising object before itis inserted in the content selection or to an already-existingadvertising object located within the content selection. Alternativelyor in addition, the insertion rules may be configured to specify thetimes when the advertising objects are inserted, the duration of theinsertion, and/or other information associated with repeating ortemporal characteristics of the insertion/modification/deletion. Forexample, an insertion rule may specify that an advertising object isinserted every 5 minutes for 30 seconds. In another example, aninsertion rule may specify that a certain advertising object is removedor blacked out for 10 seconds. In yet another configuration, theduplicating device 130 may be configured to receive the stream fromother duplicating devices. In this configuration, the duplicating device130 may be configured to replace parts of the upstream advertising withits own. For example, the source system 110 may insert most of thenational-level advertisements into the data stream at the time oftransmission, but leave some of the empty spaces for localadvertisements. The downstream device 130 may then remove some theoriginal advertisements from the stream or replace them withadvertisements that target local viewers.

Advertising objects may include imagery-related content in variety offormats, such as still and moving images, text, or audio objects. Inaddition, advertising objects may be specifically pre-formatted foreasier insertion into a content selection. For example, a sequence ofimages may be pre-rendered in a variety of resolutions, orientations,sizes, colors, backgrounds, or shades in order to accelerate theinsertion process and avoid on-line processing. Likewise, otheradvertising objects may vary in duration or richness, where richnessrefers to the amount of detail or information.

An advertising object may describe a range of activities. For example,an advertising object may instruct the loading of three differentadvertising objects in a buffer (e.g., advertising buffer 132) from anadvertising library (e.g., advertising store 134) of twenty pieces. Inanother example, the duplicating device 130 uses advertising interface333 to retrieve the required advertisements from an off-device medialibrary.

TABLE 4 rule insert_NY_Sports_Fan-rl { operation INSERT time_in 3:51duration 4.0 repeat every 1.2 hrs}

The advertising object section 134 b stores data related to advertisingobjects. In one implementation, an advertising object may be aplaceholder for advertising content with a link to the actualadvertising content, stored in the content storing section 134 c.Alternatively or in addition, an advertising object also may store allor a part of the advertising content by itself, and may includedescriptive information about advertising content, such as type,duration, and visual/audio characteristics. The controller 137 appliesselection rules to the characteristics of advertising objects andselects advertising objects that match the requirements set by theselection rules. Once the specific advertising object is selected by thecontroller 137, the content for the advertising object is retrievedeither from the advertising object itself or from the content storingsection 134 c via a link (or a pointer) from the advertising object. Thecontroller 137 then renders the advertising object into contentselection following the guidelines established by the selection,modification, and insertion rules. Even after insertion into the stream,the inserted advertising objects may be demarcated with metatags. Thesemetatags specify characteristics of the inserted advertising objects.Such information may enable, among other things, filtering ormodification of the inserted advertising objects at the downstreamduplicating devices or at a recipient's terminal.

Advertising content may include a variety of media objects, such asstill and moving images, text, or audio objects (e.g., text may berendered as if printed on the side of an object). In addition,advertising objects may be accessed by a link to similar content that isspecifically pre-formatted for easier insertion into the stream. Forexample, imagery of a single object may be reformatted in a variety ofresolutions, orientations, sizes, colors, backgrounds, or shades inorder to speed up the insertion process and avoid on-line processing.Likewise, an advertising object may be formatted in a variety ofdurations or richness, where richness refers to the amount of detail orinformation.

Furthermore, an inventory management system may be provided for managingadvertising content. The inventory management system may be text-driven,graphics-driven, or a combination of both. The inventory managementsystem may be deployed at the duplicating devices 130, at the contentsources, or at other locations. Advertisers, operators of the streamingequipment, or third parties may use the inventory management system tospecify the content used for advertising insertion. Generally, theinventory management system provides an interface to the data stored inthe content storing section 134 c. Hence, the inventory managementsystem enables a user of the system to search, add, delete, or modifyadvertisement content. For example, using the inventory system, a systemoperator also may quickly search/browse for a specific image of a 20 ozPepsi bottle. If the image is not stored in the system, the operator mayadd the image to the inventory, or send a request to the graphicsdepartment for creation of such an image. The inventory managementsystem also may be configured to enable a system operator to set variousparameters associated with the advertising content, such as displaycharacteristics, pricing information, or theme information. In oneimplementation, the inventory management system specifies a backgroundaudio selection that should accompany the advertising. In anotherimplementation, the inventory management system includes a textselection configured to support different languages. In yet anotherimplementation, the inventory management system may specify whether asubdued or prominent color scheme should be used to render theadvertising object.

FIG. 3 illustrates how advertisements may be inserted in acommunications system 100. Specifically, FIG. 3 illustrates how aduplicating device 130 receives a data stream including a video contentselection having scenes configured to accommodate insertion ofadvertising objects, identifies an advertising descriptor based oncharacteristics of a scene within the data stream, selects anadvertising object based on the identified advertising descriptor, andmodifies the video content selection by inserting the advertising objectin the data stream such that the advertising object is integrated into ascene of the video content selection, where an image scene of the videocontent selection is modified to integrate and enable visual display ofcontent from within the scene of the video content selection and theadvertising object concurrently.

Initially, the source system 100 transmits a data stream (305). Examplesof the first stream (e.g., stream of data units) may include a videostream (e.g., television programming). The duplicating device 130receives the data stream including a video content selection havingscenes configured to accommodate insertion of advertising objects (310).The duplicating device 130 may receive the stream for the purpose ofduplicating the video stream. Although duplicating the first stream maybe performed in response to receiving the first stream, duplicating thefirst stream is not required to be performed first upon receiving thefirst stream. Furthermore, duplicating the first stream may refer to abroad spectrum of activities.

In one example, duplicating the first stream may refer to storing thefirst stream in a buffer. Storing this stream may enable rapidduplication of the content as a duplicated stream by adding andreplacing new header information to enable simultaneous access to thecontent by multiple terminals. Another example may include storing thepacket with address fields in the buffer. The address fields may bemodified to represent the addresses corresponding to one or moreterminals. Other implementations may receive the first stream, duplicatethe stream, and transmit the stream to one or more terminals, withoutnecessarily waiting for state information to be provided unlessadvertisements are required.

Independently, or in response to receipt of the first stream by theduplicating device 130, the controller 137 identifies an advertisingdescriptor based on characteristics of a scene within the data stream(315). The advertising descriptor may include a number of rules, such asthose illustrated and described with respect to Table 1, that help thecontroller 137 select an appropriate advertising object for insertion.

After identifying the advertising descriptor, the duplicating device 130selects an advertising object based on the identified advertisingdescriptor (320). For example, the duplicating device may retrieve theadvertising object from a buffer. The duplicating device 130 thenmodifies the video content selection by inserting the advertising objectin the data stream such that the advertising object is integrated into ascene of the video content selection, where an image scene of the videocontent selection is modified to integrate and enable visual display ofcontent from within the scene of the video content selection and theadvertising object concurrently (325). In addition, the controller 137may modify some properties of advertising objects in order to render theadvertising object more realistic. For example, the controller 137 maychange the color, shape, or other visual characteristics of advertisingobjects before inserting it into the content selection. In anotherexample, the controller 137 may change temporal characteristics of theadvertising object, such as duration, in order to seamlessly fit theadvertising object into the content selection. Finally, the controller137 also may directly modify the duplicated stream's visual or temporalcharacteristics. The duplicating device 130 transmits the contentselection to a recipient (330). The recipient 150 receives the contentselection (335). Receiving the duplicated stream may involve ahandshaking process to coordinate flow control and stream reception. Forexample, the duplicating device 130 may transmit the stream as a TCP(“Transport Control Protocol”) stream and use TCP's handshakingcapability to minimize the likelihood of dropped data. This handshakingprocess may verify that a terminal has received advertising content.

FIG. 4 illustrates an example of a communication system 400 that enablesnational and local advertising to be sent to one or more terminals.Generally, aspects of the system described with respect to FIG. 4 areconsistent with aspects of the system described with respect to FIG. 1.For example, both system 100 and system 400 include a source system 110,networks 120 and 140, a duplicating device 130, and a terminal 150.However, unlike the system shown by FIG. 1, the system 400 shown by FIG.4 typically is modified to address a two-tiered advertising systemassociated with national and local advertising. Thus, aspects of thesystem 400 also may or may not be present, whether or not shown, in thesystem 100. For example, the source system 110 may be configured toinclude an analog stream 411 but network 120 may not include a link toSan Francisco, even though both of these aspects are shown in FIG. 4.

Source system 110 typically includes a device structured and arranged tosend out a ‘national’ stream through network 120 to one or moreduplicating devices 130 acting as local content insertion points. Whenimplemented as illustrated in FIG. 4, source system 110 includes ananalog stream 411, an MPEG-4 (Motion Picture Experts Group 4) encoder412, an advertising insertion device 413, a conversion device 414, anational advertising storage 415, an advertising server 416, and aduplicating device 417. As such, the source system 110 is structured andarranged to convert the analog stream 411 into MPEG-4 stream using theMPEG-4 encoder 412. The source system may insert metatags into theMPEG-4 stream. These metatags specify the requirements for advertisingcontent and are used by the duplicating device 130 to insertadvertisements. The metatag insertion process may use a proprietarymethod, such as a video-editing suite, or a technology already availablefrom MPEG-4. For example, Binary Format for Scene (BIFS) may be used toembed metatags into the MPEG-4 stream. BIFS is the MPEG-4's scenedescription language designed for representing, delivering, andrendering interactive and rich media services, such as audio, video, 2D,and 3D graphics.

The conversion device 414 is structured and arranged to wrap the MPEG-4stream into an IP stream with advertising insertion points usingadvertising insertion device 413. Duplicating device 417 is structuredand arranged to access national advertising storage 415 throughadvertising server 416 to insert advertising content into the IP streamsent from conversion device 414. Thus, aspects of the source system inFIG. 4 may resemble aspects of the duplicating device describedpreviously. However, in FIG. 4, duplicating device 417 interfaces withanother duplicating device 130 instead of interfacing with a terminal150.

Although FIG. 4 illustrates a two-tiered system of advertisinginsertion, implementations may include using more than two tiers ofduplicating devices. For example, a carrier may include international,national, regional, and local tiers. Moreover, the duplicating devicesneed not be assigned to hierarchies. For example, a duplicating deviceclosest to the stream may be accessed as the first device for insertingadvertising content. This first device may send one or more streams to asecond tier of duplicating devices. These second tier devices may sendtheir streams with additional inserted advertising content to a thirdtier of duplicating devices. Although the tiers may be geographicallyoriented, other orientations may be used. For example, the second andthird tiers may represent different distributor and subscriber groups.

Network 120 includes several connections from the source system 110 tothe duplicating device 130. For example, network 421 includes links toSan Francisco 422, Columbus 423, and Dulles 424. These connections todifferent locations may include redundant links to one or moreduplicating devices 130. For example, there is a redundant link 425between a Columbus link 423 and a Dulles link 426 (through network 427)to reach duplicating device 130.

Duplicating device 130 includes one or more devices structured andarranged to modify the video content selection by inserting theadvertising object in the data stream such that the advertising objectis integrated into a scene of the video content selection, where animage scene of the video content selection is modified to integrate andenable visual display of content from within the scene of the videocontent selection and the advertising object concurrently. Duplicatingdevice 130 includes a local advertising ingest site 431, a localadvertising storage device 432, and advertising server 433, and aduplicating device 434. In general, duplicating device 130 receiveslocal advertising content in a local advertising content ingest site431. For example, the local advertising ingest device 431 may include adevice that converts one or more tapes of advertisements into a MPEG-4file. This advertising content (represented by advertising objects) mayreside on local advertising storage 432 to be accessed by an advertisingserver 433. The duplicating device 434 may access the advertising server433 to access local advertisements.

Although the duplicating device 130 is described with respect to havingthe local advertising ingest device 431 stream into the localadvertising storage 432, having the local advertising server 432 streaminto the advertising server 433, and having the advertising 433 streaminto the duplicating device 434, other implementations need not includeall of these devices. Rather, these devices illustrate the functionalitythat may be present at a local advertising content insertion site. Forexample, the duplicating device 130 might only include a duplicatingdevice 434. This duplicating device 434 may include functionality toreceive advertising content from one or more sources. These sources mayinclude an analog conversion interface blade on the duplicating device434, storage residing on the duplicating device, and/or a networked thecontroller configured to retrieve advertisements.

The duplicating device 130 may interface with the network 140 to reachthe terminal 150, which in this case is the cable headend. Because ofthe functionality of the cable headend equipment, aspects of the network140 may be indistinguishable from aspects of the terminal 150. Forexample, network 140 may include network equipment configured to connectthe duplicating device 130 to a cable headend. The network equipment mayterminate a portion of the communications (e.g., to modulate ontochannels for tuners) with a portion of the communications beingforwarded as Internet traffic over the cable system to consumers.Irrespective of which devices are labeled as the network or theterminals, the duplicating device transmits the duplicated stream inresponse to the state of the terminal, which may be a cable headend or aPC behind the cable headend accessing the Internet.

FIG. 5 illustrates how metatags may be used to annotate the insertionspaces for advertising content within a stream of data units. Ingeneral, metatags are placed (logically or temporally) within the streamto indicate the locations for advertising objects. In other words,metatags serve as placeholders for the actual advertising content thatis inserted into the data stream by the duplicating devices.

Metatags may be created in a number of ways. For example, metatags maybe created through a video-editing suite at the data stream source. Thecontroller 137 also may dynamically generate metatags, based onautomatic recognition of possible places for insertion of advertisingobjects within the data stream.

A scene 5A corresponding to a video frame within the stream includes anexemplary contestant 505 in a studio environment. The contestant issurrounded by a variety of objects. Some of these objects may be usedfor product placement. For example, the space behind the contestant, thesoft drinks on the podium, and the space in front of the podium may beused for advertisements. As a result, the objects are respectivelyannotated by metatags 510, 515, 520, and 525 in the original contentselection. Metatags include information about the advertising space,such as the type of object that may be inserted into the space, thesize, the shape, the 3D orientation, the color of the object, or theduration over which the advertising object my be inserted. For example,metatag 520 may specify that the inserted advertising object should havea bottle shape, be 500 by 250 pixels, have red color, and is able toappear for 10 seconds on the screen.

In addition, the metatag 520 also may specify at least one preferredadvertiser or product category. For instance, metatags may include alist of preferred advertisers, such as Pepsi, Coke, or Nestea. Thecontroller 137 then may be configured to select from among the preferredadvertisers and inserting advertising objects of the selectedadvertisers. Additionally or alternatively, the metatag 520 may leavethe selection of advertisers to the duplicating device 130. In thiscase, the controller 137 may select advertising objects based on therules included in the advertising descriptor stored on the duplicatingdevice 130.

Metatags also may include special identification codes that may help theduplicating device 130 to select the specific advertising objects (ortypes of objects) requested by the advertisers. For example, if ametatag carries a code PEPSIBT_(—)20_RD, the duplicating device 130 maybe configured to decode the identification code as a requirement by theadvertiser to insert an image of the red 20 oz Pepsi bottle.

A scene 5B illustrates an exemplary result in response to inserting anadvertising object. As seen in the figure, object 515 has been removedfrom the frame, while objects 510, 520, and 525 have been populated withthe actual advertisements. In one implementation, object 515 has beenremoved because an advertiser failed to purchase the advertisingopportunity. In another implementation, the advertising inventorymanager may have determined that aspects of object 515 were in conflictwith aspects of another object being rendered. However, a viewerperceives advertising objects in scene 5B appear as if the advertisingobject were present during the recording of the original show.

FIG. 6 provides a flow chart 600 that shows how the controller 137selects an advertising object for insertion. In general, aspects of FIG.6 relate to FIG. 2 and illustrate how advertising objects may beselected by the controller 137. Initially, the controller extracts themetatag from the data stream (605). Extracting a metatag may includeplacing the metatag in a temporary buffer for further processing.

Next, the controller 137 determines whether the metatag specifies apreferred advertiser (610). For instance, metatags may include a list ofpreferred advertisers, such as Pepsi, Coke, or Nestea. When a preferredadvertiser has been specified, the controller 137 may be configured toonly access advertising objects associated with the specifiedadvertisers (615). In another implementation, the selection of oneadvertising object may trigger the selection of other objects. Forexample, if one Pepsi advertising object is selected, the controller 137may select the rest of the advertising objects from a pool ofadvertising objects associated with PepsiCo, such as Frito-Lay andTropicana.

Additionally or alternatively, the metatag may enable the duplicatingdevice 130 to select advertising objects. For example, the controller137 may search the advertising objects stored in the advertising store134 using the characteristics specified by the metatag (620). Similarly,the controller 137 narrows the object list based on the characteristicsof the metatag (625). The lists of advertising objects may be narrowedin response to receiving characteristics, such as limited storage, oridentification of the type of advertising object that may be insertedinto the space, and/or other restrictions based on the size, shape,color of the advertising object, or the duration over which theadvertising object will appear.

To further better select an advertising object, the controller 137applies additional rules using the advertising descriptor (630). Forexample, these advertising descriptors may control the temporalcharacteristics associated with the advertising object. The controller137 may select advertising objects during the pre-defined time periods.For example, the controller 137 may attempt to insert a Pepsi bottleevery five minutes (if possible and/or the content selection supportsrendering the Pepsi bottle). In another example, the controller 137 mayselect advertising objects based on a duration of a segment, or theduration specified in the metatag. Additionally or alternatively, thecontroller 137 may apply other selection rules to select the advertisingobject. The advertising object may be selected based on the terminalpreferences, such as end-user demographics or preferences. For example,a viewer may prefer trucks to convertibles, Diet Coke to Pepsi, ortennis to rugby. As a result, a viewer's preferences may be used toselect the advertising object.

Furthermore, the controller 137 may use revenue objectives (e.g., costor projected revenues) of individual advertisements as another selectioncriterion. Because actual cost or revenues of advertisements may dependon a variety of factors, such as the underlying program, program type orthe duration of the advertisement, the controller 137 may use variousrevenue objectives to filter out advertising objects from the vendorsthat are not willing to pay more than a certain price foradvertisements. For example, during a game show, the controller 137 maybe configured to select advertising objects that cost at most $10 pershowing, so that the total cost per month for that advertiser does notexceed $4,500 a month. In another example, the advertiser may purchase afixed plan, so that for $10,000 a month, the advertiser's content isselected as often as possible, given that other selection rules for thatcontent are satisfied. Other revenue objectives may be possible.

Additionally, the controller 137 may select advertising objects based onother selection criteria, such as weights configured to promote a degreeof variation importance. A metatag may include a weight indicating aprioritization for the advertising object. For example, a nationaladvertising object may have a higher weight (priority) than a local theadvertising object. An intermediary device inserting advertising objectsmay be configured to select advertising objects with higher prioritiesbefore advertising objects with lower priorities.

After applying one or more selection rules associated with theadvertising descriptor, the controller 137 creates a preliminary list ofadvertising objects that are suitable for insertion into the data stream(635). The controller 137 then starts a conflict check (640) byidentifying possible conflicts among eligible advertising objects.

The controller 137 then determines whether the advertising objectconflicts with other objects appearing in the frame. Thus, for eachobject in the list, the controller 137 checks whether the objectconflicts with other objects in this frame (645). FIG. 7A illustratesexemplary conflicts between competing advertisers. Here, the Pepsi logo710 conflicts with the Coke bottle 720. Hence, the controller 137 may beconfigured to select advertising objects such that Pepsi and Coca-Colaare not proximate to one another (e.g., in the same frame, segment, orepisode). The controller 137 may perform conflict analysis not only forthe advertising objects of the same type (such as 20 oz. Coke and Pepsibottles), but also for all advertising objects produced by competingadvertisers. For example, rules could be configured such that Cokebottles are not presented at the same time as Frito-Lay chips, becauseFrito-Lay chips are produced by PepsiCo (which is a parent company ofPepsi, Frito-Lay, and Tropicana).

Alternatively or in addition, the controller 137 may perform themeanalysis to determine whether the advertising object conflicts with atheme associated with the content selection. Thus, for each object inthe list, the controller 137 checks whether the object conflicts withtheme of the content selection (650). As shown in FIG. 7B, a beeradvertisement 730 may conflict with the overall theme of a game show. Asa result, a controller 137 may be configured to prevent certainadvertising objects conflicting with a theme for a content selection(beer, cigarettes, prescription drugs, etc.) from being inserted in thecontent selection.

Referring back to FIG. 6, once a revised list of advertising objects isdetermined, the controller 137 may be configured to select fromadvertising objects with similar metrics (655). For example, in theevent of a “tie” between two advertising objects, various tiebreakingcriteria may be used (e.g., default to local advertising content). Inone configuration, a metatag may include a weight which is descriptiveof the intended audience or of advertising content that was ordered. Forexample, a weight of 6 may indicate that the advertising object wasintended for 6 million terminals. Thus, the available weight of metatagsmay be allocated to ensure that the associated advertising contentreaches a desired number of terminals. After placing the advertisingobject, a counter may be reduced to reflect that fewer placements arerequired. In another configuration, the weight indicates revenuerealized by inserting the advertising object. For example, a weight of 3may indicate 3×(base unit of revenue) to determine revenue that would bereceived by inserting the advertising object. In this manner, a cableoperator may select advertising objects using precise revenue metrics.Finally, with the advertising object selected, the advertising object isinserted into the content selection (660).

FIG. 8 provides a flow chart 800 that shows how metatags may be used toinsert advertising objects that is different for national and localadvertisers. In general, aspects of FIG. 8 relate to FIG. 2 andillustrate how advertising objects may be inserted. However, FIG. 8illustrates how a metatag associated with an advertising object may beused to select content. Initially, the source system 110 creates anencoded feed (805), for example, by using a MPEG-4 encoder. The sourcesystem 110 then inserts metatags into the video stream (810). Typically,inserting a metatag includes creating a digital mark in an encodedstream of data units so that a duplicating device knows to insertadvertisements. Metatags may be inserted using BIFS or some othertechnology. Typically, a metatag may include an advertising descriptor.For example, as was described with respect to FIG. 5, the metatag mayinclude various preferences of advertisement insertion. Inserting themetatag may include inserting at least some advertising content, as wasdescribed with respect to FIG. 3. In another example, the metatag may beinserted without associated advertising content. The source system 110transmits the encoded feed with metatags (815). If TCP is used totransmit the video stream, then the delivery and receipt of the videostream and metatags may be verified.

The source system 130 receives the encoded feed (820). The duplicatingdevice 130 then duplicates the video stream as a stream (825).

The duplicating device 130 processes metatags (830). Generally,processing metatags involves determining a value for one or moredescriptors of the metatag and/or associated content. For example, asdescribed with respect to FIGS. 5 and 6, processing the metatag mayinclude the information included in the metatag, such as advertisingpreferences. Metatags also may include information about the preferredadvertising object, such as the type of object that may be inserted intothe space, the size, the shape, the 3D orientation, the color of theobject, or the duration over which the advertising object may beinserted.

The duplicating device 130 selects between local or national content(845), and may determine that a local advertising object should beinserted (855). If a local advertising object is selected, the localadvertising object is accessed (850) and the content selection ismodified by rendering the advertising object in the content selection(860). If the local advertising object is not inserted, a determinationis made that national advertising should be used (850A). In any event,the duplicating device 130 transmits the content selection to theterminal (865). The terminal 150 receives the content selection (870).

Other implementations are within the scope of the following claims. Forinstance, a stream manager may dynamically create and remove advertisingcontent from libraries. The stream manager may include a networkoperator, a managing server, a workstation, or a scheduling agent.Examples of the duplicating device include a server and a duplicatingswitch. While aspects of the duplicating device are described withrespect to inserting advertising content, the duplicating device may beused to insert non-advertising content into a duplicated stream.

The buffer in the duplicating device may be set to a length such that,when a terminal receives the duplicated stream, the content will beoutputted alongside live content through other transmissions channels.For example, the buffer length may be set to 800 ms (“milliseconds”) tomimic the delay present in satellite transmissions. A 500 ms bufferenables lost data units to be retransmitted, assuming 150 ms nationwideresponse rates. Similarly, a 500 ms buffer enables live or emergencytransmissions to e received nearly simultaneously with transmissionsbeing sent over the airwaves as radio (e.g., Frequency modulation (FM)radio).

An intermediary device may be configured to analyze a video contentselection and identify advertising opportunities within the videocontent selection. For example, the intermediary device may detectinter-frame stability, that is, minimal (or no) movement in objectsappearing within a frame. Alternatively or in addition, inter-framestability may be established by detecting little or no change inscenery. The intermediary device then may identify advertisingopportunities within a sequence of frames by identifying objects (e.g.,a table, bookshelf, desk, or counter) or by determining a lack ofactivities in a scene with respect to a particular region. In oneimplementation, the lack of scene activities may be identified bydetecting a lack of flesh-coloring proximate to the particular region orby a lack of movement in the frame proximate to the particular region.The advertising opportunity may be characterized based on analysis ofthe frame (or sequence of frames). For example, the intermediary devicemay determine that a table with an orientation and dimension supportsinsertion of an advertisement for an object with a particular set ofdimensions. The intermediary device then may generate an advertisingdescriptor for the advertising opportunity and retrieve an advertisingobject responsive to the advertising descriptor. In one implementation,the intermediary device uses metatags in addition to analyzing thesequence of frames in order to generate an advertising descriptor.

What is claimed is:
 1. A method of inserting advertisements into avideo, comprising: processing, with at least one processor, a datastream including a video content selection to extract a metatag thatmodels a template object appearing within a first content segmentfeaturing primary content of the video content selection, the templateobject enabling a transformation of an advertising object; identifying,with the at least one processor, an advertising descriptor based oncharacteristics of a scene and the metatag extracted from the firstcontent segment, wherein identifying the advertising descriptor includesreferencing a selection weight rule configured to promote selection ofthe advertising object from a set of available advertising objects;selecting the advertising object based on the identified advertisingdescriptor; modifying the video content selection by inserting theadvertising object in the data stream such that the advertising objectis integrated into a scene of the video content selection; andtransmitting the video content selection to a recipient, wherein theadvertising descriptor reflects a temporal transformation of theadvertising object within the scene from a first appearance at a firstinstance to a second appearance at a second instance, wherein theadvertising object does not change its appearance between a thirdinstance and a fourth instance even though a position of the advertisingobject does change between the third instance and the fourth instance,and wherein selecting the advertising object based on the identifiedadvertising descriptor comprises selecting the advertising object toreflect the temporal transformation of the advertising object within thescene so that the advertising object appears as if the advertisingobject was originally captured in the first content segment.
 2. Themethod of claim 1, further comprising storing the advertising object atan intermediary system.
 3. The method of claim 1, further comprisingdownloading the advertising object from a content server.
 4. The methodof claim 2, further comprising transmitting the advertising object tothe intermediary system as part of the data stream.
 5. The method ofclaim 1, wherein identifying the advertising descriptor includesreferencing at least one of a selection rule, a modification rule, or aninsertion rule from the data stream.
 6. The method of claim 1, whereinidentifying the advertising descriptor includes referencing a selectionrule and selecting, as the advertising object, an advertising objectwhich avoids a conflict between one or more other advertising objects inthe video content selection.
 7. The method of claim 6, wherein selectingthe advertising object which avoids the conflict includes selecting theadvertising object in response to determining whether a competingproduct has appeared, appears, or will appear in the video contentselection.
 8. The method of claim 6, wherein selecting the advertisingobject which avoids the conflict includes determining whether theadvertising object conflicts with a theme of the video content selectionand, if so, selecting a different object supporting the theme.
 9. Themethod of claim 1, wherein identifying the advertising descriptorincludes referencing a temporal rule configured to promote selection ofthe advertising object based on temporal characteristics associated withthe advertising object that are supported by the video contentselection.
 10. The method of claim 1, wherein identifying theadvertising descriptor includes referencing a preference rule associatedwith the recipient and configured to promote selection of theadvertising object based on recipient preferences.
 11. The method ofclaim 1, wherein identifying the advertising descriptor includesreferencing an identification code rule associated with the recipientand configured to promote selection of the advertising object based onan identification code identifying the advertising object.
 12. Themethod of claim 1, wherein identifying the advertising descriptorincludes referencing a recipient demographics rule associated with therecipient and configured to promote selection of the advertising objectbased on demographics of the recipient.
 13. The method of claim 1,wherein identifying the advertising descriptor includes referencing arule configured to promote selection of the advertising object using arevenue objective.
 14. The method of claim 1, wherein the identifyingthe advertising descriptor includes referencing a rule configured topromote selection of the advertising object using content selectiondescriptions.
 15. The method of claim 1, wherein the identifying theadvertising descriptor includes referencing a rule configured to promoteselection of the advertising object based on a placement location of theadvertising object within the video content selection.
 16. The method ofclaim 5, wherein the modification rule specifies at least one of avisual, audio, or temporal characteristic of the advertising object. 17.The method of claim 16, wherein the at least one temporal characteristicspecifies a sequence of visual states for the advertising object thatvaries over time.
 18. The method of claim 5, wherein the insertion ruleindicates an opportunity to render the advertising object at a specifiedtime for a specified duration.
 19. The method of claim 1, whereinidentifying the advertising descriptor includes analyzing metatagsembedded within the first content segment of the data stream thatdescribe one or more activities within the video content selection. 20.The method of claim 1, wherein the selection weight rule is based on anumerical selection weight value associated with the advertising object,the numerical selection weight value being included in the metatagembedded within the first content segment.
 21. The method of claim 1,wherein the first content segment is separate from a first advertisingsegment.
 22. The method of claim 1, further comprising: receivingtemporal characteristics of the advertising object; receiving temporalcharacteristics of the template object in the first content segment; andmodifying the advertising object responsive to the temporalcharacteristics of the template object so that the advertising objectchanges over time.
 23. The method of claim 1, wherein modifying thevideo content selection by inserting the advertising object in the datastream comprises modifying an image scene of the video content selectionto integrate and enable visual display of content from within the sceneof the video content selection and the advertising object concurrentlyso that the advertising object is displayed consistent with temporalcharacteristics of the template object in the first content segment. 24.A system configured to insert advertisements into a video, comprising: afirst communications interface structured and arranged to: receive adata stream including a video content selection; and a controllerstructured and arranged to: process the data stream to extract a metatagthat models a template object appearing within a first content segmentfeaturing primary content of the video content selection, the templateobject enabling the transformation of an advertising object; identify anadvertising descriptor based on characteristics of a scene and themetatag extracted from the first content segment, wherein theidentifying the advertising descriptor includes referencing a selectionweight rule configured to promote selection of the advertising objectfrom a set of available advertising objects; select the advertisingobject based on the identified advertising descriptor; and modify thevideo content selection by inserting the advertising object in the datastream such that the advertising object is integrated into a scene ofthe video content selection; and a second communications interfacestructured and arranged to transmit the video content selection to arecipient, wherein the advertising descriptor reflects a temporaltransformation of the advertising object within the scene from a firstappearance at a first instance to a second appearance at a secondinstance, wherein the advertising object does not change its appearancebetween a third instance and a fourth instance even though a position ofthe advertising object does change between the third instance and thefourth instance, and wherein selecting the advertising object based onthe identified advertising descriptor comprises selecting theadvertising object to reflect the temporal transformation of theadvertising object within the scene so that the advertising objectappears as if the advertising object was originally captured in thefirst content segment.
 25. A non-transitory computer-readable mediumthat stores a set of instructions, which when executed by a processor,causes the processor to perform a method comprising: processing a datastream including a video content selection to extract a metatag thatmodels a template object appearing within a first content segmentfeaturing primary content of the video content selection, the templateobject enabling the transformation of an advertising object; identifyingan advertising descriptor based on characteristics of a scene and themetatag extracted from the first content segment, wherein theidentifying the advertising descriptor includes referencing a selectionweight rule configured to promote selection of the advertising objectfrom a set of available advertising objects; selecting the advertisingobject based on the identified advertising descriptor; modifying thevideo content selection by inserting the advertising object in the datastream such that the advertising object is integrated into a scene ofthe video content selection; and transmitting the video contentselection to a recipient, wherein the advertising descriptor reflects atemporal transformation of the advertising object within the scene froma first appearance at a first instance to a second appearance at asecond instance, wherein the advertising object does not change itsappearance between a third instance and a fourth instance even though aposition of the advertising object does change between the thirdinstance and the fourth instance, and wherein selecting the advertisingobject based on the identified advertising descriptor comprisesselecting the advertising object to reflect the temporal transformationof the advertising object within the scene so that the advertisingobject appears as if the advertising object was originally captured inthe first content segment.